<html>
    <head>
        <title>微服务架构</title>
    </head>
    <body>
        <script>
            //  微服务架构

                /*
                        “微服务是一种软件开发技术——是面向服务的体系结构（SOA）架构风格的变体，它将应用程序构建为松散耦合服务的集合。

                        在微服务架构中，服务是细粒度的，协议是轻量级的。

                        将应用程序分解为不同的较小服务的好处是它提高了模块化。

                        这使得应用程序更容易理解、开发、测试，并且对架构侵蚀更具弹性。

                        它通过使小型自治团队能够独立地开发、部署和扩展各自的服务来实现开发的并行化。

                        它还允许通过持续重构来出现单个服务的架构。

                        于微服务的架构支持持续交付和部署。
                */

                /*
                    一、导言

                            ABP的主要目标之一是提供方便的基础设施来创建微服务解决方案。为了使这成为可能做了一下工作：

                               1、提供一个模块系统，允许您将应用程序拆分为模块，其中每个模块可能有自己的数据库、实体、服务、API、UI组件/页面…等。

                               2、提供架构模型来开发您的模块以兼容微服务开发和部署。

                               3、提供最佳实践指南来开发模块standards-compliance。

                               4、提供基础基础架构以在您的微服务中实现域驱动设计。

                               5、提供服务以从您的应用程序服务自动创建REST样式的API。

                               6、提供服务以自动创建C#API客户端，从而可以轻松地从另一个服务/应用程序使用您的服务。

                               7、提供分布式事件总线来通信您的服务。

                               8、提供许多其他服务，使您的日常开发更轻松。

                */


                /*
                    二、新应用的微服务

                            启动新解决方案的一个常见建议是总是从一个单体开始，保持它的模块化，并在单体成为问题时将其拆分为微服务。

                            这使得您在开始时进展迅速，尤其是如果您的团队很小，并且您不想应对微服务架构的挑战。

                            然而，开发这样一个模块化的应用程序可能是一个问题，因为很难像微服务那样保持模块之间的隔离（参见Stefan Tilkov的文章）。

                            微服务架构自然会迫使您开发隔离良好的服务，但在模块化单体应用程序中，很容易将模块相互紧密耦合，并设计弱模块边界和API契约。

                            ABP可以通过提供一个microservice-compatible、严格的模块架构来帮助您，
                            
                            在这个架构中，您的模块被分成多个层/项目，并在自己的VS解决方案中开发，与其他模块完全隔离和独立

                            这样一个开发的模块是一个自然的微服务，但它可以很容易地插入一个单体应用程序。

                            参阅模块开发最佳实践指南，该指南提供了一个微服务优先模块设计。

                            所有标准ABP模块都是根据本指南开发的。

                            因此，您可以通过嵌入到您的单体解决方案中来使用这些模块，或者单独部署它们并通过远程API使用。

                            它们可以共享一个数据库，也可以根据您的简单配置拥有自己的数据库。
                */

                /*
                    三、微服务解决方案模板

                            ABP提供了一个预架构和生产就绪的微服务解决方案模板，
                            
                            其中包括多个服务、API网关和相互很好集成的应用程序，
                            
                            该模板帮助您快速开始构建具有通用微服务模式的分布式系统。
                */
        </script>
    </body>
</html>